/**
 * 
 */
package ar.edu.utn.frgp.banco.service.impl;

import java.util.List;

import ar.edu.utn.frgp.banco.dao.CuentaDao;
import ar.edu.utn.frgp.banco.dao.GestionUsuariosDao;
import ar.edu.utn.frgp.banco.dao.impl.CuentasDaoImpl;
import ar.edu.utn.frgp.banco.dao.impl.GestionUsuariosDaoImpl;
import ar.edu.utn.frgp.banco.domain.Cliente;
import ar.edu.utn.frgp.banco.exceptions.PersonalisedException;
import ar.edu.utn.frgp.banco.exceptions.ServiceException;
import ar.edu.utn.frgp.banco.service.GestionCuentasService;
import ar.edu.utn.frgp.banco.service.GestionUsuariosService;

/**
 * @author Backup_LABS
 *
 */
public class GestionUsuariosServiceImpl implements GestionUsuariosService {

	private GestionUsuariosDao dao;
	private GestionCuentasService gestionCuentas;
	
	public GestionUsuariosServiceImpl(){
		dao = new GestionUsuariosDaoImpl();
		gestionCuentas = new GestionCuentasServiceImpl();
	}
	
	/**
	 * @see ar.edu.utn.frgp.banco.service.GestionUsuariosService#hacerLogIn(ar.edu.utn.frgp.banco.domain.Usuario)
	 */
	@Override
	public Cliente hacerLogIn(Cliente usr)throws ServiceException, PersonalisedException {
		Cliente c = dao.hacerLogIn(usr);
		
		if (c.isLogOk()){
			c.setCuentasCorrientes(gestionCuentas.obtenerCuentasCorrientes(usr.getDni()));
			c.setCajaAhorro(gestionCuentas.obtenerCajaAhorro(usr.getDni()));			
		}
		
		return c;
	}

}
